package com.un.ebs.sale.domain;

import java.util.Date;

import com.un.ebs.product.enums.ProductPurchaseTypeEnum;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.stereotype.Component;
import lombok.Data;
import com.un.ebs.core.metadata.DbField;

/**
 * (SaleOrderDeliverPlanExt)表实体类
 *
 * @author liubo
 * @since 2020-08-17 15:39:02
 */
@Data
@Component
@TableName("v_sale_order_deliver_plan_ext")
@SuppressWarnings("serial")
public class SaleOrderDeliverPlanExt extends Model<SaleOrderDeliverPlanExt> {


    @DbField(name = "id", length = 40, precision = 0)
    private String id;

    @DbField(name = "sale_order_id", length = 40, precision = 0)
    private String saleOrderId;

    @DbField(name = "sale_order_code", length = 100, precision = 0)
    private String saleOrderCode;

    @DbField(name = "contract_code", length = 100, precision = 0)
    private String contractCode;

    @DbField(name = "customer_ent_id", length = 40, precision = 0)
    private String customerEntId;

    @DbField(name = "customer_ent_name", length = 40, precision = 0)
    private String customerEntName;

    @DbField(name = "personnel_id", length = 40, precision = 0)
    private String personnelId;

    @DbField(name = "personnel_name", length = 100, precision = 0)
    private String personnelName;

    @TableField(fill = FieldFill.INSERT)
    @DbField(name = "create_time", length = -1, precision = 0)
    private Date createTime;

    @DbField(name = "plan_deliver_date", length = -1, precision = 0)
    private Date planDeliverDate;

    @DbField(name = "deliver_remark", length = 100, precision = 0)
    private String deliverRemark;

    @DbField(name = "sku_id", length = 40, precision = 0)
    private String skuId;

    @DbField(name = "sku_code", length = 100, precision = 0)
    private String skuCode;

    @DbField(name = "sku_name", length = 100, precision = 0)
    private String skuName;

    @DbField(name = "purchase_type", length = -1, precision = 0)
    private ProductPurchaseTypeEnum purchaseType;

    @DbField(name = "class_name", length = 40, precision = 0)
    private String className;

    @DbField(name = "sale_qty", length = 38, precision = 4)
    private Double saleQty;

    @DbField(name = "plan_production_qty", length = 38, precision = 4)
    private Double planProductionQty;

    @DbField(name = "real_production_qty", length = 38, precision = 4)
    private Double realProductionQty;

    @DbField(name = "sale_deliver_qty", length = 38, precision = 4)
    private Double saleDeliverQty;

    @DbField(name = "production_requirement_qty", length = 38, precision = 4)
    private Double productionRequirementQty;

    @DbField(name = "inventory_qty", length = 38, precision = 4)
    private Double inventoryQty;

    @DbField(name = "tenant_id", length = 40, precision = 0)
    private String tenantId;


}